home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / DJLSR106.ARJ / GETRUSAG.C < prev    next >
C/C++ Source or Header  |  1992-03-02  |  1KB  |  36 lines

  1. /* This is file GETRUSAG.C */
  2. /*
  3. ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
  4. **
  5. ** This file is distributed under the terms listed in the document
  6. ** "copying.dj", available from DJ Delorie at the address above.
  7. ** A copy of "copying.dj" should accompany this file; if not, a copy
  8. ** should be available from where this file was obtained.  This file
  9. ** may not be distributed without a verbatim copy of "copying.dj".
  10. **
  11. ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
  12. ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. */
  14.  
  15. #include <sys/time.h>
  16. #include <sys/resource.h>
  17.  
  18. static struct timeval old_time = {0,0};
  19.  
  20. int getrusage(int who, struct rusage *rusage)
  21. {
  22.   struct timeval now;
  23.   bzero(rusage, sizeof(struct rusage));
  24.   if (old_time.tv_sec == 0)
  25.     gettimeofday(&old_time, 0);
  26.   gettimeofday(&now, 0);
  27.   rusage->ru_utime.tv_usec = now.tv_usec - old_time.tv_usec;
  28.   rusage->ru_utime.tv_sec = now.tv_sec - old_time.tv_sec;
  29.   if (rusage->ru_utime.tv_usec < 0)
  30.   {
  31.     rusage->ru_utime.tv_usec += 1000000;
  32.     rusage->ru_utime.tv_sec -= 1;
  33.   }
  34.   return 0;
  35. }
  36.